緩存對於伺服器的好處,在於使用者會將數據加載到內存,減少了對資料庫的訪問
終端輸入
python manage.py createcachetable my_cache_table
在setting.py中添加caches
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
}
}
兩種寫法
手動寫快取,一開始先判斷有沒有這個快取名稱('index'),有就使用快取資料,沒有就去加載資料,這邊使用time.sleep(5)來假裝資料要存取很久的時間,cache.set裡面的timeout表示它會記得快取30秒
def index(request):
if cache.get('index'):
return HttpResponse(cache.get('index'))
time.sleep(5)
response = render(request, 'index.html')
cache.set('index', response, timeout=30)
return response
另一種簡單的多,就加個@cache_page()
from django.views.decorators.cache import cache_page
@cache_page(30)
def index(request):
time.sleep(5)
return render(request, 'index.html')
還有很多快取的方法,快取可以同時用不同種的,如果想更深入研究的,redis可以看看